 /**
 * 此自定应用户模块为后台业务层分类页面categoriesController模块，专门负责后台的功能业务处理
 * 
 */
//  引入数据层adminCategoriesModel模块
const adminCategoriesModel=require('../model/adminCategoriesModel');
 // 分类页面加载数据库渲染页面
 module.exports={
     // 添加新的分类数据
    addNewCategories(req,res){
        let data=req.body;
        // console.log(data);
        // 将获取的新数据写入数据层对应数据库
        adminCategoriesModel.updateNewCategories(data,(err,result)=>{
            if(err) console.error(err);
            let resObj={
                code:401,
                msg:'添加新类别失败'
            };
            if(result.affectedRows==1){
                resObj.code=200;
                resObj.msg='添加新类别成功';
                // 操作成功后，要把新增的数据提取出来，返回给浏览器再进行动态的生成
                // console.log(result);  // 里面有个属性insertId就是新生成的id
                adminCategoriesModel.findCategories(result.insertId,(err,result)=>{
                    if(err) console.error(err);
                    // console.log(result.id); // 返回的是一个数组
                    if(result[0]){
                        resObj.data=result[0];
                    }else{
                        resObj.msg='找不到数据';
                    }
                    res.send(resObj);
                })
            }else{
                res.send(resObj);
            }
        });       
    },
    // 删除分类数据
    deleteCategories(req,res){
        let obj=req.query;
        // 根据id调用数据层方法软删除数据库数据
        adminCategoriesModel.deleteCategories(obj.id,(err,result)=>{
            if(err) console.error(err);
            // console.log(result);
            if(result.affectedRows==1){
                res.send({
                    code:200,
                    msg:'删除成功'
                })
            }else{
                res.send({
                    code:401,
                    msg:'删除失败'
                })
            }
        })
    },
    // 根据id查找对应数据
    findCategoriesById(req,res){
        let id=req.query.id;
        adminCategoriesModel.findCategories(id,(err,result)=>{
            if(err) console.error(err);
            let resObj={
                code:401,
                msg:'获取失败'
            }
            if(result[0]){
                resObj.code=200;
                resObj.msg='获取成功';
                resObj.data=result[0];
            }
            res.send(resObj);
        });
    },
    // 修改分类数据
    editCategories(req,res){
        // console.log (req.query);
        // 因为id的唯一性，根据id判断要修改的数据
        let data=req.query;
        // 调用数据层修改数据的方法
        adminCategoriesModel.editCategories(data,(err,result)=>{
            if(err) console.error(err);
            let obj={
                code:401,
                msg:'保存失败'
            };
            if(result.affectedRows==1){
                adminCategoriesModel.findCategories(data.id,(err1,result1)=>{
                    if(err1) console.error(err1);
                    if(result1[0]){
                        obj.code=200,
                        obj.msg='保存成功',
                        obj.newData=result1[0];
                    }
                    res.send(obj);
                })
            }else{
                res.send(obj);
            }
        })

    },

    // 批量删除数据
    deleteCategoriesByIdArr(req,res){
        let idArr=req.query.data.join();
        // console.log(idArr);// 输出的是 id1,id2
        adminCategoriesModel.deleteCategoriesByIdArr(idArr,(err,result)=>{
            if(err) console.error(err);
            if(result.affectedRows!=0){
                res.send({
                    code:200,
                    msg:'删除成功',
                    ids:req.query.data
                })
            }else{
                res.send({
                    code:401,
                    msg:'删除失败'
                })
            }
        })
    }
 }